package thread;


import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;

/**
 * @author： pang-yun
 * @date： 2021-10-13 15:47
 * 功能目的 ：用于 于主线程之外 创建新的线程
 */
@Slf4j
public class NewThread {

    public static void main(String[] args) {

        // 方式1： 直接使用thread   将要执行的指令流放到thread里面
        Thread thread = new Thread("test") {
            @Override
            public void run() {
               log.info("make new thread!");
            }
        };
        // 启动线程  交给任务调度器
        thread.start();
        log.info("running");



        //--------------------------
        // 可运行的任务  线程要执行的代码
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                log.info("runnable code");
            }
        };
        //创建线程对象
        Thread runnableThread = new Thread(runnable,"runnable");
        //启动线程
        runnableThread.start();


        //-----------lambda 方法简化------
        Runnable r =()-> log.info("lambda: runnable");
        new Thread(r,"lambdaRunnable").start();

    }
}
